package datenbank;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import java.util.Collection;
import java.util.LinkedList;

public class AbteilungDB {
  private static final String base_query = "SELECT * FROM Category ";
  private static final String insert_query = "INSERT INTO abteilung(abteilungsname, abteilungsnr) VALUES(?,?)";
  public static Collection<AbteilungDTO> findAll(final Connection cn) {
    System.out.println ("BenutzerDB.findAll");
    final LinkedList<AbteilungDTO> erg = new LinkedList<AbteilungDTO>();

    try {
      PreparedStatement stmt = cn.prepareStatement(base_query);

      ResultSet rset = stmt.executeQuery();
      while (rset.next()) {
        AbteilungDTO dto = new AbteilungDTO(rset);
        erg.add(dto);
      }
      rset.close();
    } catch (SQLException e) {
      System.err.println("Ein DB-Fehler ist aufgetreten:" + e.toString());
    }
    System.out.println ("BenutzerDB.findAll gefunden:"+erg.size());
    return erg;
  }

  public static int insert (final Connection cn, final AbteilungDTO dto) throws SQLException {
    System.out.println ("insert mit: "+dto);
    // ToDo
    PreparedStatement insert = cn.prepareStatement(insert_query);
    insert.setString(1, dto.getAbtname());
    insert.setInt(2, dto.getAbtnr());
    return 0;
  }
  
  public static int update (final Connection cn, final AbteilungDTO dto) throws SQLException {
    System.out.println ("update mit: "+dto);
    // ToDo
    return 0;
  }
}
